package com.indexingsystem.system.service;

import java.util.List;

import com.indexingsystem.boss.Vo.ResourceTypeSelectVo;
import com.indexingsystem.boss.common.PagedResult;
import com.indexingsystem.boss.entity.ResourceType;

public interface IResourceTypeService {

	/**
	 * 根据资源类型id删除资源类型.
	 * @param resTypeId
	 * @return
	 */
	int deleteByPrimaryKey(String resTypeId) throws Exception;

	/**
	 * 新增资源类型.
	 * @param record
	 * @return
	 */
    int insertSelective(ResourceType record) throws Exception;
    
    /**
     * 通过资源类型id查询资源类型信息.
     * @param resTypeId
     * @return
     */
    ResourceType selectByPrimaryKey(String resTypeId);

    /**
     * 修改资源类型.
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(ResourceType record) throws Exception;

    /**
     * 分页查询资源类型列表.
     * @param pageNo
     * @param pageSize
     * @return
     */
	PagedResult<ResourceType> selectResourceTypeList(String queryCriteria,Integer pageNo, Integer pageSize);
	
	/**
	 * 弹窗资源类型获取列表.
	 * @return
	 */
	List<ResourceTypeSelectVo> getResourceTypeList();
	
	
	/**
	 * 获取资源类型总列表.
	 * @return
	 */
	List<ResourceType> getResourceTypeAllList();
	
	/**
	 * 获取资源类型总数量.
	 * @return
	 */
	Integer getResourceTypeListCount(String queryCriteria);   
	
	/**
	 * 通过资源类型名称和英文名查询资源类型是否重复.
	 * @param resourceType
	 * @return
	 */
	ResourceType selectResourceTypeExits(ResourceType resourceType);

	/**
	 * 通过资源类型名称查询资源类型是否重复.
	 * @param name
	 * @return
	 */
	ResourceType selectResourceTypeNameExits(String name);
	
	/**
	 * 通过资源类型英文名查询资源类型是否重复.
	 * @param enName
	 * @return
	 */
	ResourceType selectResourceTypeEnNameExits(String enName);
	
	/**
	 * 通过资源类型资源明细表查询资源类型是否重复.
	 * @param resTable
	 * @return
	 */
	ResourceType selectResourceTypeResTableExits(String resTable);	
	
	/**
	 * 批量删除资源类型.
	 * @param resourceTypeIdList
	 * @return
	 */
    int deleteResourceTypeByIdBatch(List<String> resourceTypeIdList) throws Exception;
    
    
    List<ResourceType> selectByAll();
}